package originatorv2;

import mementov2.MementoV2;
import mementov2.SaisirMemento;
import caretakerv2.Enregistreur;
import command.Command;
import command.SaisirTexte;

public class SaisirOriginator implements OriginatorV2{

	private Enregistreur enregistreur;
	private Command saisir;
	private String etat;

	public SaisirOriginator(Enregistreur enreg,Command cmd) {
		super();
		this.enregistreur = enreg;
		this.saisir = cmd;
	}

	/**
	 * 
	 */
	public void execute(){
		((SaisirTexte) saisir).execute();
		etat = ((SaisirTexte)this.saisir).getTexte();
		MementoV2 m = new SaisirMemento(this, etat);
		enregistreur.ajouterMemento(m);
	}

	@Override
	public void setMemento(MementoV2 m) {
		((SaisirTexte) saisir).setTexte(((SaisirMemento) m).getEtat());
		((SaisirTexte) saisir).executeMem();
	}

	/**
	 * @return the etat
	 */
	public String getEtat() {
		return etat;
	}

	/**
	 * @param etat the etat to set
	 */
	public void setEtat(String etat) {
		this.etat = etat;
	}

	
	
}